package co.edu.usbcali.unidadresidencial.modelo.dto;

import co.edu.usbcali.unidadresidencial.modelo.Reserva;
import co.edu.usbcali.unidadresidencial.presentation.backingBeans.ReservaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class ReservaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String estCodigo_Estado;
    private String priCodigo_PropietarioInmueble;
    private String zocCodigo_ZonaComun;
    private String resCodigo;
    private Date resFecha;
    private Date resHoraFin;
    private Date resHoraInicio;
    private boolean rowSelected = false;
    private ReservaView reservaView;
    private Reserva reserva;

    public Reserva getReserva() {
        return reserva;
    }

    public String listener_update(ActionEvent e) {
        try {
            reservaView.action_modifyWitDTO(((resCodigo == null) ||
                resCodigo.equals("")) ? null : new String(resCodigo),
                ((resFecha == null) || resFecha.equals("")) ? null : resFecha,
                ((resHoraFin == null) || resHoraFin.equals("")) ? null
                                                                : resHoraFin,
                ((resHoraInicio == null) || resHoraInicio.equals("")) ? null
                                                                      : resHoraInicio,
                ((estCodigo_Estado == null) || estCodigo_Estado.equals(""))
                ? null : new String(estCodigo_Estado),
                ((priCodigo_PropietarioInmueble == null) ||
                priCodigo_PropietarioInmueble.equals("")) ? null
                                                          : new String(
                    priCodigo_PropietarioInmueble),
                ((zocCodigo_ZonaComun == null) ||
                zocCodigo_ZonaComun.equals("")) ? null
                                                : new String(
                    zocCodigo_ZonaComun));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        resCodigo = reserva.getResCodigo().toString();
        resFecha = reserva.getResFecha();
        resHoraFin = reserva.getResHoraFin();
        resHoraInicio = reserva.getResHoraInicio();
        estCodigo_Estado = (reserva.getEstado().getEstCodigo() != null)
            ? reserva.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (reserva.getPropietarioInmueble()
                                                .getPriCodigo() != null)
            ? reserva.getPropietarioInmueble().getPriCodigo().toString() : null;
        zocCodigo_ZonaComun = (reserva.getZonaComun().getZocCodigo() != null)
            ? reserva.getZonaComun().getZocCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Object details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        resCodigo = reserva.getResCodigo().toString();
        resFecha = reserva.getResFecha();
        resHoraFin = reserva.getResHoraFin();
        resHoraInicio = reserva.getResHoraInicio();
        estCodigo_Estado = (reserva.getEstado().getEstCodigo() != null)
            ? reserva.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (reserva.getPropietarioInmueble()
                                                .getPriCodigo() != null)
            ? reserva.getPropietarioInmueble().getPriCodigo().toString() : null;
        zocCodigo_ZonaComun = (reserva.getZonaComun().getZocCodigo() != null)
            ? reserva.getZonaComun().getZocCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setReserva(Reserva reserva) {
        this.reserva = reserva;
    }

    public ReservaView getReservaView() {
        return reservaView;
    }

    public void setReservaView(ReservaView reservaView) {
        this.reservaView = reservaView;
    }

    public String getEstCodigo_Estado() {
        return estCodigo_Estado;
    }

    public void setEstCodigo_Estado(String estCodigo_Estado) {
        this.estCodigo_Estado = estCodigo_Estado;
    }

    public String getPriCodigo_PropietarioInmueble() {
        return priCodigo_PropietarioInmueble;
    }

    public void setPriCodigo_PropietarioInmueble(
        String priCodigo_PropietarioInmueble) {
        this.priCodigo_PropietarioInmueble = priCodigo_PropietarioInmueble;
    }

    public String getZocCodigo_ZonaComun() {
        return zocCodigo_ZonaComun;
    }

    public void setZocCodigo_ZonaComun(String zocCodigo_ZonaComun) {
        this.zocCodigo_ZonaComun = zocCodigo_ZonaComun;
    }

    public Date getResFecha() {
        return resFecha;
    }

    public void setResFecha(Date resFecha) {
        this.resFecha = resFecha;
    }

    public Date getResHoraFin() {
        return resHoraFin;
    }

    public void setResHoraFin(Date resHoraFin) {
        this.resHoraFin = resHoraFin;
    }

    public Date getResHoraInicio() {
        return resHoraInicio;
    }

    public void setResHoraInicio(Date resHoraInicio) {
        this.resHoraInicio = resHoraInicio;
    }

    public String getResCodigo() {
        return resCodigo;
    }

    public void setResCodigo(String resCodigo) {
        this.resCodigo = resCodigo;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
